<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/template.xhtml">

        <ui:define name="title">
            <h:outputText value="#{bundle.ListCidadeTitle}"></h:outputText>
        </ui:define>

        <ui:define name="body">
            
            <h:form id="formTableCidade" prependId="false">

                <h:outputText escape="false" value="#{bundle.ListCidadeEmpty}" rendered="#{cidadeController.listarCidades.rowCount == 0}"/>

                <p:dataTable var="selected" value="#{cidadeController.listarCidades}" paginator="true" rows="10" 
                             selection="#{cidadeController.selected}" selectionMode="single" id="dataTableCidade">

                    <f:facet name="header">
                        #{bundle.ListCidadeTitle}
                    </f:facet>

                    <p:column id="nomeCidade" headerText="#{bundle.ListCidadeTitle_nome}"  sortBy="#{selected.nome}" filterBy="#{selected.nome}" >
                        #{selected.nome}
                    </p:column>

                    <p:column id="ufCidade" headerText="#{bundle.ListCidadeTitle_uf}"  sortBy="#{selected.uf}" filterBy="#{selected.uf}" >
                        #{selected.nome}
                    </p:column>


                    <p:column id="acoesCidade" colspan="2">
                        <f:facet name="header">
                            <p:commandButton icon="ui-icon-plusthick" value="#{bundle.CreateCidadeTitle}" actionListener="#{cidadeController.prepareCreate}" update=":formDialogCreateCidade:createCidade" oncomplete="dialogCreateCidade.show()"/>
                        </f:facet>
                        <p:commandButton value="#{bundle.ViewCidadeEditLink}" actionListener="#{cidadeController.prepareEdit}" update=":formDialogEditCidade:editCidade" oncomplete="dialogEditCidade.show()"/>
                        <p:commandButton value="#{bundle.ViewCidadeDestroyLink}" actionListener="#{cidadeController.destroy}" update=":formTableCidade:dataTableCidade"/>
                    </p:column>

                </p:dataTable>

                <p:dialog header="#{bundle.EditCidadeTitle}" widgetVar="dialogEditCidade" resizable="true" modal="true" showEffect="slide" width="500">
                    <h:form id="formDialogEditCidade" prependId="false">

                        <p:panelGrid id="editCidade" columns="2">

                            <p:outputLabel for="editCidadeNome" value="#{bundle.EditCidadeLabel_nome}" />
                            <p:inputText id="editCidadeNome" value="#{cidadeController.selected.nome}" required="true" requiredMessage="#{bundle.EditCidadeRequiredMessage_nome}"/>

                            <p:outputLabel for="editCidadeUf" value="#{bundle.EditCidadeLabel_uf}" />
                            <p:selectOneMenu id="editCidadeUf" value="#{cidadeController.selected.uf}" required="true" requiredMessage="#{bundle.EditCidadeRequiredMessage_uf}">
                                <f:selectItems value="#{ufController.itemsAvailableSelectOne}"/>
                            </p:selectOneMenu>

                            <p:commandButton oncomplete="dialogEdit.hide();" actionListener="#{cidadeController.update}" update=":formTableUf:dataTableCidade" value="#{bundle.EditCidadeSaveLink}"/>
                            <p:commandButton oncomplete="dialogEdit.hide();" value="Cancelar"/>
                        </p:panelGrid>
                        
                    </h:form>
                </p:dialog>

                <p:dialog header="#{bundle.CreateCidadeTitle}" widgetVar="dialogCreateCidade" resizable="true" modal="true" showEffect="slide" width="500">
                    <h:form id="formDialogCreateCidade" prependId="false">

                        <p:panelGrid id="createCidade" columns="2">

                            <p:outputLabel for="createCidadeNome" value="#{bundle.CreateCidadeLabel_nome}" />
                            <p:inputText id="createCidadeNome" value="#{cidadeController.selected.nome}" required="true" requiredMessage="#{bundle.CreateCidadeRequiredMessage_nome}"/>

                            <p:outputLabel for="createCidadeUf" value="#{bundle.CreateCidadeLabel_uf}" />
                            <p:selectOneMenu id="createCidadeUf" value="#{cidadeController.selected.uf}" required="true" requiredMessage="#{bundle.CreateCidadeRequiredMessage_uf}">
                                <f:selectItems value="#{ufController.itemsAvailableSelectOne}"/>
                            </p:selectOneMenu>

                            <p:commandButton oncomplete="dialogCreate.hide();" actionListener="#{cidadeController.create}" update=":formTableCreate:dataTableCidade" value="#{bundle.EditCidadeSaveLink}"/>
                            <p:commandButton oncomplete="dialogCreate.hide();" value="Cancelar"/>
                        </p:panelGrid>
                        
                    </h:form>
                </p:dialog>

            </h:form>
        </ui:define>
    </ui:composition>

</html>
